home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Shareware Grab Bag
/
Shareware Grab Bag.iso
/
090
/
vmed.arc
/
ERED.ASM
< prev
next >
Wrap
Assembly Source File
|
1985-12-03
|
2KB
|
98 lines
;ERED/ASM - November 14, 1983 - Ed Ream Editor special
;Modified - February 10, 1984 - Added @SPEC for speed
;Modified - April 1, 1984 - Added @ERRET and EXIT to handle
;error calls properly and Extended Cursor Mode on exit
;
COM '<LC is copyrighted (c) 1982 by Jim Frimmel>
;
ORG 5200H
@START LD HL,(4049H) ;P/u Model I HIGH$
CALL @MOD13 ;Test for Model I/III
JR NZ,$+5 ;Go if Model I
LD HL,(4411H) ; else use III's
LD SP,HL ;Set stack area
LD HL,4423H ;KFLAG$ on model I
JR NZ,$+5 ;if model III
LD HL,429FH ;KFLAG$ on model III
SET 6,(HL) ;Turn on ECM
CALL @GO ;Initialize
CALL MAIN ;Execute user prog
LD HL,0 ;Set return code
PUSH HL
CALL EXIT ;Back to DOS
$$STEMP DEFL 0 ;Init relative storage
*GET LCMACS ;Get macros used by LC
; establish LC options
@_ARGS DEFL 0
@_REDIRECT DEFL 0
@_KBECHO DEFL 0
@_FIXBUFS DEFL -1
@_MAXFILES DEFL 2
*GET ED2 ;Fetch user programs
*GET ED3
*GET ED4
*GET ED5
*GET ED6
*GET ED7
*GET ED8
*GET ED9
*GET ED10
@ERRET
OR 11000000B
CALL 4409H
RET
EXIT
LD HL,@FVTBL
LD B,@FCNT
E1 LD E,(HL)
INC HL
LD D,(HL)
INC HL
LD A,E
OR D
JR Z,E2
PUSH BC
PUSH HL
EX DE,HL
CALL @FCLS9
POP HL
POP BC
E2 DJNZ E1
LD HL,4423H ;KFLAG$ on model I
CALL @MOD13 ;Which machine?
JR NZ,$+5 ;Skip for model I
LD HL,429FH ;KFLAG$ on model III
RES 6,(HL) ;Turn ECM off
$GA HL
LD A,H
OR L
JP Z,402DH
JP 4030H
*SEARCH IN/LIB ;Installation lib
*SEARCH LC/LIB ;Standard lib always!
IFDEF FOPEN
*M
@SPEC PUSH HL ;Save registers
PUSH DE
$?1 LD A,(HL) ;Exit on space or less
CP 33
JR C,$?3
CP 97 ;Convert l/c to U/C
JR C,$?2
CP 123
JR NC,$?2
XOR 32
$?2 LD (DE),A
INC HL ;bump pointers
INC DE
JR $?1 ;loop until exit char
$?3 LD A,3 ;terminate with ETX
LD (DE),A
POP DE ;restore regs
POP HL
RET
ENDIF
$$STORG EQU $ ;Set to 1st storage byte
@PROGEND DEFL $$STORG+$$STEMP ;Establish program end
END @START